/**************************************************************
 * @使用方法：
 * @创建对象：chart2 = new chart_data(ui->tab);
 * @添加布局：ui->tab->setLayout(chart2->vlayout);
 * @添加数据：chart2->append_data(speed);
 **************************************************************/

#ifndef CHART_DATA_H
#define CHART_DATA_H

#include <QWidget>

#include <QtCharts>
#include <QString>
#include <QTimer>
#include <QPointF>
#include <QDebug>

class chart_data : public QWidget
{
    Q_OBJECT
public:
    explicit chart_data(QWidget *parent = nullptr);

    QChartView * chartView;   // 画布对象
    QChart chart;             // 图表对象
    QLineSeries LineSeries;   // 展示在图表对象上面的线对象
    QVector<QPointF> Pointf;  // 绘制线对象所需要的数据
    QValueAxis AxisX;         // X轴
    QValueAxis AxisY;         // Y轴

    // 时间
    float time = 0;
    // 初始化模拟数据定时器
    QTimer *timer = new QTimer(this);

    QPushButton *button_clear;

    //创建布局
    QVBoxLayout *vlayout =new QVBoxLayout();

    void append_time_data(float time, float data);
    void append_data(float data);
    void set_axisY_name(const QString &name); // 新增设置Y轴名称的接口
    void set_title_name(const QString &name); // 新增设置Y轴名称的接口

    void clear()
    {
        time = 0;
        Pointf.clear();
    }

signals:


private slots:
    void on_button_clear_clicked();



};

#endif // CHART_DATA_H
